package com.common.tool;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 文 件 名 称：PagingTool.
 * 文 件 说 明：数据返回封装（分页）
 * 创   建   人：zpen.
 * 创 建 时 间：2018/3/19 14:34.
 */
public class PagingTool {
    /**每页多少条数据*/
    private int pageSize;
    /**总共多少条数据*/
    private int total;
    /**当前页*/
    private int pageNo;
    /**结果集*/
    private List<Map<String,Object>> rows = new ArrayList<Map<String,Object>>();
    /**总页数*/
    public int getTotalPages(){
        return (total+pageSize-1)/pageSize;
    }
    /**
     * 计算当前页开始记录
     * @param pageSize 每页记录数
     * @param currentPage 当前第几页
     * @return 当前页开始记录号
     */
    public int countOffset(int currentPage,int pageSize){
        int offset = pageSize*(currentPage-1);
        return offset;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getPageNo() {
        return pageNo;
    }

    public void setPageNo(int pageNo) {
        this.pageNo = pageNo;
    }

    public List<Map<String,Object>> getRows() {
        return rows;
    }

    public void setRows(List<Map<String,Object>> rows) {
        this.rows = rows;
    }

    public PagingTool(int pageSize, int total, int pageNo, List<Map<String,Object>> rows) {

        this.pageSize = pageSize;
        this.total = total;
        this.pageNo = pageNo;
        this.rows = rows;
    }

    public PagingTool() {

    }
}
